const fs = require('fs')
fs.readFile('index.js', () => {
    setTimeout(() => console.log(1))
    setImmediate(() => console.log(2))
})

// 开始执行

// 是否要进入事件循环 要 (读取文件)

// 进入 timers 队列, 没有回调, 下一个poll

// poll 队列 是否有回调, 没有, 有要等待的东西, 等待文件读取完成

// 文件读取完成, 添加回调到 poll 队列, 执行回调

// 添加一个定时器 setImmediate添加一个回调到check队列, 执行完成 poll 队列结束

// 执行check队列 有回调, 执行

// 输出: 2 check队列结束

// 是否要进入事件循环 要 (定时器)

// 进入 timers 队列, 有回调, 

// 输出: 1 执行完成, 下一个poll

// poll 队列 是否有回调, 没有, 没有要等待的东西, 结束

// 执行check队列 没有有回调, 结束

// 结束